package com.hnevc.xiewenguang;

import java.util.ArrayList;
import java.util.Scanner;

public class KYVByLinkedList {

        public static void main(String[] args) {
            System.out.println("---------------欢迎来到点歌系统------------");
            System.out.println("0.添加歌曲致列表");
            System.out.println("1.将歌曲置顶");
            System.out.println("2.将歌曲前移一位");
            System.out.println("3.退出");
            ArrayList arrayList = new ArrayList();
            addMusicList(arrayList);
            while (true) {
                System.out.println("请输入要执行的操作序号");
                Scanner scanner = new Scanner(System.in);
                int command = scanner.nextInt();

                switch (command) {
                    case 0:
                        addMusic(arrayList);
                        break;
                    case 1:
                        setTop(arrayList);
                        break;
                    case 2:
                        setBefore(arrayList);
                        break;
                    case 3:
                        exit();
                        break;
                    default:
                        System.out.println("------------------");
                        System.out.println("功能选择有误，请输入正确的功能序号！");
                        break;
                }
                System.out.println("目前歌曲列表"+ arrayList);
            }
        }
    //
    private static void addMusicList(ArrayList linkedlist){
     linkedlist.add("星辰大海");
     linkedlist.add("好运来");
     linkedlist.add("我和我的祖国");
     linkedlist.add("爱我中华");
     System.out.println("初始歌曲列表"+linkedlist);
    }
      //添加歌曲
    private static void addMusic(ArrayList arrayList){
        System.out.println("请输入要添加的歌名");
        String musicName = new Scanner(System.in).nextLine();
        arrayList.add(musicName);
        System.out.println("已添加歌曲"+ musicName);
        }
        //将歌曲置顶
    private  static void setTop(ArrayList arrayList){
            System.out.println("请输入要置顶的歌曲名称：");
            String musicName = new Scanner(System.in).nextLine();
            //判断当前用户输入的歌曲是否存在歌曲列表中。
           //存在->获取歌曲的下标，将所处下标的歌曲名称删除，并添加到列表第一项
        int index = arrayList.indexOf(musicName);
        if (index<0) {
            System.out.println("当前列表中没有输入的歌曲！");
        }else{
            arrayList.remove(index);//存在
            arrayList.add(0, musicName);
            System.out.println("已将歌曲"+ musicName +"已置顶");
        }
        }
        //将歌曲前移
        private static void setBefore(ArrayList arrayList){
            System.out.println("请输入要前移的歌曲");
            String musicName =new Scanner(System.in).nextLine();
            int index = arrayList.indexOf(musicName);
            if (index<0){
            System.out.println("当前列表中没有输入的歌曲");
            }else {
                arrayList.remove(index);
                arrayList.add(index-1,musicName);
                System.out.println("已将歌曲" + musicName + "前移");
            }
        }
        //退出系统
        private static void exit(){
            System.out.println("-------------退出-------------");
            System.out.println("您已退出系统");
            System.exit(0);
        }

    }